summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorliamwhite <liamwhite@users.noreply.github.com>2023-05-07 20:09:10 +0200
committerGitHub <noreply@github.com>2023-05-07 20:09:10 +0200
commit0c5bdc7241b8af91f574ddc34194caeb4db90233 (patch)
tree2997737127294794512047e162da586ad04fa010
parentMerge pull request #10172 from Kelebek1/debug_validation_names (diff)
parentSort overlap_ids by modification tick before copy (diff)
downloadyuzu-0c5bdc7241b8af91f574ddc34194caeb4db90233.tar
yuzu-0c5bdc7241b8af91f574ddc34194caeb4db90233.tar.gz
yuzu-0c5bdc7241b8af91f574ddc34194caeb4db90233.tar.bz2
yuzu-0c5bdc7241b8af91f574ddc34194caeb4db90233.tar.lz
yuzu-0c5bdc7241b8af91f574ddc34194caeb4db90233.tar.xz
yuzu-0c5bdc7241b8af91f574ddc34194caeb4db90233.tar.zst
yuzu-0c5bdc7241b8af91f574ddc34194caeb4db90233.zip
-rw-r--r--src/video_core/texture_cache/texture_cache.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/video_core/texture_cache/texture_cache.h b/src/video_core/texture_cache/texture_cache.h
index f335009d0..b5297e76b 100644
--- a/src/video_core/texture_cache/texture_cache.h
+++ b/src/video_core/texture_cache/texture_cache.h
@@ -1359,6 +1359,12 @@ ImageId TextureCache<P>::JoinImages(const ImageInfo& info, GPUVAddr gpu_addr, VA
ScaleDown(new_image);
}
+ std::ranges::sort(overlap_ids, [this](const ImageId lhs, const ImageId rhs) {
+ const ImageBase& lhs_image = slot_images[lhs];
+ const ImageBase& rhs_image = slot_images[rhs];
+ return lhs_image.modification_tick < rhs_image.modification_tick;
+ });
+
for (const ImageId overlap_id : overlap_ids) {
Image& overlap = slot_images[overlap_id];
if (True(overlap.flags & ImageFlagBits::GpuModified)) {